#pragma once

/*----------------------------------------------------------------------------*/

#include <QtGui/QMainWindow>
#include <QtCore/QString>

#include "GeneratedFiles/ui_mainwindow.h"
#include "newNetworkWizard.h"
#include "trainNetworkWizard.h"
#include "imageLoader.h"

class CNetworkManager;

/*----------------------------------------------------------------------------*/

class MainWindow
	:	public QMainWindow	

/*----------------------------------------------------------------------------*/

{
	Q_OBJECT

/*----------------------------------------------------------------------------*/

public:

/*----------------------------------------------------------------------------*/

	MainWindow();

	~MainWindow();	

/*----------------------------------------------------------------------------*/

private:

/*----------------------------------------------------------------------------*/

	Ui::MainWindowUi* m_ui;

	CNetworkManager* m_networkManager;

	ImageLoader* m_imageLoader;

	NewNetworkWizard* m_newNetworkWizard;

	TrainNetworkWizard* m_trainNetworkWizard;

/*----------------------------------------------------------------------------*/

	bool WarningOverwriteNetwork();

	QString GetSaveFileNameDialog();

	void WarningNetworkNotExists();

/*----------------------------------------------------------------------------*/

private slots:

/*----------------------------------------------------------------------------*/
	
	void NewNetwork();

	void SaveNetwork();

	void SaveNetworkAs();

	void LoadNetwork();

	void TrainNetwork();

	void CloseNetwork();

	void About();

	void NetworkIsAccessible( bool _state );

	void DisplayImage();

	void CloseImage();

	void ClassifyImage();

	void ImageIsAccessible( bool _state );

/*----------------------------------------------------------------------------*/

};

/*----------------------------------------------------------------------------*/
